/*
 * @Author: chunlai
 * @Date: 2025-03-20 16:10:35
 * @LastEditTime: 2025-03-21 09:43:15
 * @LastEditors: minsheng_insurance_agency_zhoucl
 * @FilePath: \0.newInsure\src\methods\rules.js
 * @Description: 投保规则---配置化管理规则
 */

const GuoJi = {
  CHN: {
    forbiddenIdTypes: ["1", "16"], // 禁止选择的证件类型
    message: "国籍选择中国，证件类型不能选择：护照或外国人永久居留证",
  },
  TWN: {
    allowedIdTypes: ["1", "9", "8"], // 允许选择的证件类型
    message: "国籍为中国台湾，证件类型仅允许选择：护照、台胞证、台湾居民居住证",
  },
  MAC: {
    allowedIdTypes: ["1", "10", "6", "7", "29"],
    message:
      "中国香港、中国澳门时，证件类型仅允许选择：护照、回乡证、港澳居民居住证",
  },
  HKG: {
    allowedIdTypes: ["1", "10", "6", "7", "29"],
    message:
      "中国香港、中国澳门时，证件类型仅允许选择：护照、回乡证、港澳居民居住证",
  },
  OTHER: {
    allowedIdTypes: ["1", "16"],
    message:
      "国籍不是中国、中国台湾、中国香港、中国澳门时，证件类型仅可以选择：护照、外国人永久居留身份证",
  },
};

const regexMap = {
  CHINA: /^[\u4E00-\u9FA5][\u4E00-\u9FA5|·|-|•]*[\u4E00-\u9FA5]$/,
  ENG: /^[A-Za-z]*(\s[A-Za-z]*)*$/,
  PHONE: /^1[3456789]\d{9}$/,
  EMAIL:
    /(^[A-Za-z0-9]+([_\.][A-Za-z0-9]+)*@([A-Za-z0-9\-]+\.)+[A-Za-z]{2,6}$)|(^$)/,
  IDCARD:
    /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
  BLANK2: /(^\s+)|(\s+$)|\s{2,}/, // 两个连续空格
  // 是否为中文
  isChinese: function (str) {
    return escape(str).indexOf("%u") == 0;
  },
  bronReg: /^[A-Z]\d{9}$/, // 出生证
  soldierReg: /^[0-9]{10,18}$/, // 军人证
  hkgReg: /^H\d{8}$/i, // 回乡证（中国香港）
  macReg: /^M\d{8}$/i, // 回乡证（中国澳门）
  taiwanReg: /^[0-9]{8}$/, // 台胞证
  foreignerReg: /^[A-Z]{3}\d{12}$/, // 外国人永久居留身份证
  hongkongResidentReg: /^810000\d{10}$/, // 港澳居民居住证（香港）
  macauResidentReg: /^820000\d{10}$/, // 港澳居民居住证（澳门）
};
/**
 * 合众规则 已check
 * （1）身份证：必须为18位，需符合身份证号码校验规则，且身份证中的生日位需与出生日期中的出生年月日相符、性别位需与输入的性别相符
 * （2）户口本：校验规则同身份证
 * （3）出生证：仅可包含大写字母与数字，且数字不可全为0
 *  (4)军人证：需为10-18位
 *  (5)护照：无规则
 *  (6)回乡证：当国籍为“中国香港”时，号码需为“H”+8位阿拉伯数字；当国籍为“中国澳门”时，号码需为“M”+8位阿拉伯数字
 *  (7)台胞证：证件号码为8位阿拉伯数字
 *  (8)外国人永久居留身份证：须为15位，且需为大写字母+数字
 *  (9)港澳居民居住证：证件号码为18位；需符合身份证号码校验规则；生日、性别的正确性校验与身份证号码中生日性别校验规则相；
 * 当国籍为“中国香港时”，证件号码前6位必须是810000；
 * 当国籍为“中国澳门时”，证件号码前6位必须是820000
 * (10)台湾居民居住证：证件号码为18位；需符合身份证号码校验规则，证件号码前6位必须是830000
 */
export default {
  GuoJi,
  regexMap,
};
